#include <stdlib.h>

#define MaxLen 100

int arr[MaxLen];

//判断函数，二分的左部分区域扩大（即Left会来到mid位置）
int IsBlue(int mid, int target)
{
    return arr[mid] > target;
}

//在[s, e)范围进行二分查找
int BSFunc(int s, int e, int target)
{
    int left = s - 1, right = e, mid;
    while (left + 1 < right)
    {
        mid = left + (right - left) / 2;
        if(IsBlue(mid, target))
            left = mid;
        else
            right = mid;
    }
    //left为最后一个满足IsBlue的元素，right为第一个不满足IsBlue的元素
    return left; //根据实际需求返回left或right
}